Computing devices generally employ randomly accessible memory when executing program code, such as processes and process threads of such code. Randomly accessible memory is memory that can be accessed in any order—that is, randomly—and is also known as random-access memory. Random-access memory traditionally has been volatile, meaning that the memory loses its contents when power is removed from the memory, but more recently non-volatile random-access memory has been developed. Owing to its traditionally volatile nature, random-access memory is usually employed to temporarily store program code and the data operated on and generated by such program code, as opposed to for longer-term or archival storage purposes.